package com.bosssoft.utils;

/**
 * @author 戴圣燃
 * UtilsFactory类用于根据不同的类型创建并返回相应的Util工具实例。
 */
public class UtilsFactory{
    /**
     * 根据提供的类型字符串选择并返回相应的Util工具实例。
     *
     * @param type 表示所需Util工具类型的字符串。可接受的值包括"decrypt"、"encrypt"、"json"、"xml"。
     *             如果提供的type不在上述范围内，则返回一个ErrorUtil实例。
     * @return 返回根据type参数创建的Util实例。具体返回的实例类型取决于type参数的值。
     */
    public Util useUtil(String type) {
        // 根据type值选择相应的Util实现类实例化并返回
        if ("decrypt".equals(type)) {
            return new DecryptUtil();
        } else if ("encrypt".equals(type)) {
            return new EncryptUtil();
        } else if ("json".equals(type)) {
            return new ParseJSONUtil();
        } else if ("xml".equals(type)) {
            return new ParseXMLUtil();
        } else {
            // 如果没有匹配到任何已知类型，返回错误处理的Util实例
            return new ErrorUtil();
        }
    }
}
